package com.qdlc.p2p.biz.service;

import java.util.List;

import com.qdlc.p2p.dal.common.model.jpa.PageDataList;
import com.qdlc.p2p.dal.dto.AccountLog;
import com.qdlc.p2p.dal.model.AccountLogModel;

/**
 * 资金记录
 * 
 * @author wuaj
 * @version 1.1.0.0
 * @since 2016年3月17日
 */
public interface AccountLogService {
	/**
	 * 新增
	 * 
	 * @param log
	 */
	void add(AccountLog log);

	/**
	 * 列表
	 * 
	 * @param model
	 * @return
	 */
	PageDataList<AccountLogModel> list(AccountLogModel model);

	/**
	 * 资金记录列表
	 * 
	 * @param model
	 * @param pageNumber
	 * @param pageSize
	 * @return
	 */
	PageDataList<AccountLogModel> accountLogList(AccountLogModel model, int pageNumber, int pageSize);

    /**
     * 首页交易记录
     * @param userId
     * @return
     */
    List<AccountLogModel> accountTransactionLog(long userId);

	/**
	 * 今日净收益
	 * @param userId
	 * @return
	 */
	double todayEarnAmount(long userId);
	
	/**
	 * 累计净收益
	 * @param userId
	 * @return
	 */
	double earnAmount(long userId);
	
	/**
	 * 累计净收益
	 * @return
	 */
	double earnAmount();
	
	/**
	 * 根据时间、类型获取资金记录金额
	 * @param type
	 * @param year
	 * @return
	 */
	double[] amount(String type, String year);
	
	/**
	 * 增加资金变更日志
	 *
	 * @author Kaiju Zhao
	 * @param userId
	 * @param toUserId
	 * @param amount
	 */
	void addAccountLog(long userId, long toUserId, double amount);

}
